home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CICA 1993 April
/
CICA MS Windows - April 1993.iso
/
unzipped
/
programr
/
bcpp
/
clikbr15
/
clickbar.doc
< prev
next >
Wrap
Text File
|
1993-01-20
|
44KB
|
1,050 lines
Credits
──────────────────────────────────────────────────────────────────────
ClickBar, ClickDlg, and WynBtn were written by Dave Campbell.
The ClickBar toolkit was developed using the Borland C++ 3.0 Windows
Development package.
Copyright Notice
──────────────────────────────────────────────────────────────────────
Clickbar, ClickDlg, and WynBtn are Copyright 1992 by WynApse Software.
All rights are reserved.
This document is Copyright 1992 by WynApse Software.
All rights are reserved.
Trademarks
──────────────────────────────────────────────────────────────────────
Clickbar, ClickDlg, and WynBtn are trademarks of WynApse Software.
All trademarks and registered trademarks referenced within this
document are the property of their respective holders.
Warranty Disclaimer
──────────────────────────────────────────────────────────────────────
WYNAPSE SOFTWARE MAKES NO WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED,
INCLUDING WITHOUT LIMITATION ANY WARRANTIES OF MERCHANTABILITY AND/OR
FITNESS FOR A PARTICULAR PURPOSE.
WYNAPSE SOFTWARE DOES NOT ASSUME ANY LIABILITY FOR THE USE OF THIS
SOFTWARE BEYOND THE ORIGINAL PURCHASE PRICE OF THIS SOFTWARE.
IN NO EVENT WILL WYNAPSE SOFTWARE BE LIABLE TO YOU FOR ANY ADDITIONAL
DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF, OR INABILITY TO USE,
THIS SOFTWARE AND ITS ACCOMPANYING DOCUMENTATION, EVEN IF WYNAPSE
SOFTWARE, OR ANY AGENT OF WYNAPSE SOFTWARE HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
Table of Contents
──────────────────────────────────────────────────────────────────────
Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Extracting Files. . . . . . . . . . . . . . . . . . . . . . . . 1
Installing Files into Windows . . . . . . . . . . . . . . . . . 1
Version 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
ClickBar.DLL . . . . . . . . . . . . . . . . . . . . . . . . . 2
ClickDlg.DLL . . . . . . . . . . . . . . . . . . . . . . . . . 2
TestClik.EXE . . . . . . . . . . . . . . . . . . . . . . . . . 2
ClikTest.EXE . . . . . . . . . . . . . . . . . . . . . . . . . 2
Included Files . . . . . . . . . . . . . . . . . . . . . . . . 3
Accessing ClickDlg. . . . . . . . . . . . . . . . . . . . . . . . 4
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
.C Program Header. . . . . . . . . . . . . . . . . . . . . . . 4
.C Program WinMain . . . . . . . . . . . . . . . . . . . . . . 5
Loading DLLs. . . . . . . . . . . . . . . . . . . . . . . . 5
Far Procedure Address Assignment. . . . . . . . . . . . . . 6
DLL End User Registration . . . . . . . . . . . . . . . . . 7
ClickDlg Setup call . . . . . . . . . . . . . . . . . . . . 8
ClickDlg Execution. . . . . . . . . . . . . . . . . . . . . 8
Freeing DLLs. . . . . . . . . . . . . . . . . . . . . . . . 8
.C Program WndProc . . . . . . . . . . . . . . . . . . . . . . 8
WM_SIZE and WM_MOVE . . . . . . . . . . . . . . . . . . . . 8
WM_COMMAND. . . . . . . . . . . . . . . . . . . . . . . . . 9
.RC File . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
.DLG File. . . . . . . . . . . . . . . . . . . . . . . . . . . 10
DLL bitmaps vs. binding bitmaps . . . . . . . . . . . . . . . . . 11
Button Profiles. . . . . . . . . . . . . . . . . . . . . . . . 11
ClickBar and the Resource Workshop. . . . . . . . . . . . . . . . 12
Installing ClickBar.DLL. . . . . . . . . . . . . . . . . . . . 12
Using the custom controls. . . . . . . . . . . . . . . . . . . 12
Button Types . . . . . . . . . . . . . . . . . . . . . . . . . 13
Button ID. . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Background Color . . . . . . . . . . . . . . . . . . . . . . . 13
User Registration . . . . . . . . . . . . . . . . . . . . . . . . 14
WYNAPSE.INI. . . . . . . . . . . . . . . . . . . . . . . . . . 15
End User Use . . . . . . . . . . . . . . . . . . . . . . . . . 16
Windows 3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Borland C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Registration. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
ClickBar 1.0 ORDER FORM . . . . . . . . . . . . . . . . . . . . . 18
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Installation
──────────────────────────────────────────────────────────────────────
Extracting Files
────────────────
Build a "scratch" directory, preferably on a large RAM disk, that will
be used to temporarily extract the delivered ClickBar files. For
example,
C> cd \ <return>
C> md scratch <return>
C> cd scratch <return>
Copy the ClikBar1.ZIP file from the source diskette to the scratch
directory:
C> copy <diskette name>:\clikbar1.ZIP <return>
Execute Pkunzip to extract the two main files:
C> PKUNZIP CLIKBAR1 <return>
Read the Read.Me file for any last-minute additions:
C> type read.me|more <return>
Installing Files into Windows
─────────────────────────────
Start Windows, and from the Program Manager screen, execute
"File" "Run" C:\SCRATCH\SETUP.
Setup will propose a directory in which to install Clickbar. If the
proposed directory is unacceptable, change it as necessary, and press
OK. Setup will install ClickBar, and build a screen group named
WynApse for the TestClik and ClikTest programs. This will also provide
a convenient group for any test programs constructed using the
toolbar.
When SETUP is finished, and you next return to DOS, remove all the files
from the scratch directory, and delete the directory:
C> cd \scratch <return>
C> del *.* <return>
answer "Y" to the question about deleting all the files, then:
C> cd \ <return>
C> rd scratch <return>
Version 1.0
──────────────────────────────────────────────────────────────────────
Introduction
────────────
This document is the manual for ClickBar and ClickDlg. These two tools
are built for Microsoft Windows developers to use in producing
Windows applications with full-featured tool bars.
ClickBar.DLL
────────────
ClickBar v1.0 is delivered with 144 3-dimensional bitmapped buttons to
be used in any combination to provide users an exciting toolbar concept
instead of the standard pull-down menus. 75 of the buttons are "bound
into" the dynamic link library CLICKBAR.DLL, and the remainder are
provided as bitmaps for the developer to bind into the application, if
desired.
See the section entitled "DLL bitmaps vs. binding bitmaps" for
information and instructions on the available options.
ClickDlg.DLL
────────────
ClickDlg is the dynamic link library that provides the toolbar
interface itself to the user's application. A straight-forward,
40-line addition to an existing application will provide the user
with a toolbar interface.
TestClik.EXE
────────────
ClickBar is delivered with a demonstration, "TestClik.EXE". The
source code is included for TESTCLIK, and the section entitled
"Accessing ClickDlg" details the portions of code pertinent to
the use of ClickBar and ClickDlg.
ClikTest.EXE
────────────
ClickBar is delivered with "ClikTest.EXE", which is a full-screen
Windows application displaying all the buttons available from
ClickBar.DLL, and from the binding of the delivered user-bindable
buttons.
CLIKTEST provides the developer with a display of the buttons to decide
which ones to use in a particular application, and also displays the
ID codes returned to the Windows application upon the button being
pressed, for ease in program development.
Included Files
──────────────
As released by WynApse SoftWare, ClikBar0.zip contains the following
files:
Read.Me Last minute notes, and installation
instructions for those in a hurry.
ClickBar.doc This document
ClickBar.DLL The dynamic link library for the bitmapped
buttons
ClickBar.H The header file for ClickBar
ClickDlg.DLL The dynamic link library for the toolbar
ClickDlg.H The header file for ClickDlg
ClikTest.EXE Demo of all buttons
ClikTest.HLP Help file for demo
TestClik.ZIP A complete demonstration of ClickBar:
TestClik.C Source file
TestClik.RC Resource file
TestClik.DLG Dialog file
TestClik.DEF Link definition file
TestClik.H Include file
TestClik.ICO Icon file
TestClik.MAK Make file
TestClik.RTF Help source
TestClik.HLP Compiled Help
TestClik.HPJ Help project file
HTestCli.MAK Help Make file
TestClik.EXE Compiled executable
Bmps.ZIP ZIP-compressed file of 69 bitmapped buttons:
Bmp.DOC Explanation of source and naming conventions
bitmaps The bitmaps themselves
Setup.EXE Microsoft Windows Setup program
Setup.INF Setup data file
WynBtn.DLL Three Dynamic Link Libraries necessary for
BWCC.DLL the executing of Setup and TestClik.
RWMeter.DLL
Order.Doc Three support documents for registration
Site.Doc purposes.
License.Doc
Accessing ClickDlg
──────────────────────────────────────────────────────────────────────
Introduction
────────────
Modifications to a Windows Application to enable the use of ClickBar
fall into two major areas: modification of the .C file and modification
of the .DLG (or .RC) file.
Quickly, the .C file contains the code and hooks to allow the
Application to set up ClickDlg for the call to display, and then must
service the ID codes returned in the main Windows Procedure to perform
the functions related to the individual buttons.
The .DLG (or .RC) file contains the declarations of the locations and
order of the buttons desired in the application.
All references in the following sections to line numbers will
correspond to line numbers in TestClik.C, TestClik.RC, or TestClik.DLG
as delivered from WynApse SoftWare. If the source files have been
modified, the user accepts the responsibility for those changes.
Explanations of the use of another WynApse product, WynBtn will be
included in the descriptions. WynBtn is a 3-Dimensional bitmapped
button DLL with buttons mapping into the standard IDOK, IDQUIT, etc.
buttons.
.C Program Header
─────────────────
Line 16 in TestClik.C contains an include necessary to use WynBtn:
#include <wynbtn.h>
The following two includes must be in the main program, and are located
at lines 17 and 18 in TestClik.C:
#include <clickdlg.h>
#include <clickbar.h>
The "<" and ">" denote that the ".H" files are located in the 'include'
subdirectory with other system ".H" files. If the user prefers to have
the files local to the current compile module, change the lines to
read:
#include "wynbtn.h"
#include "clickdlg.h"
#include "clickbar.h"
Next at line numbers 38 and 39 are two sets of Far Procedure
declarations:
FARPROC lpfnDisplayDlg, lpfnDlgMove, lpfnDlgPlus;
FARPROC lpfnWynBtnSetup, lpfnClickBarSetup;
These FARPROC's will be assigned values shortly.
.C Program WinMain
──────────────────
Line number 66 and 67 in TestClik.C contain the following declarations
in WinMain:
HANDLE hLibWynBtn, hClickBar, hClickDlg, hBWCCDll;
FARPROC lpfnDlgSetup;
The first line declares HANDLES for DLLs that will be loaded during
WinMain. The second line declares a FARPROC pointer for the setup
procedure contained inside ClickDlg.DLL.
Following that, on lines 68 and 69, are two declarations for using
global memory:
GLOBALHANDLE MyStructHandle;
FPWYNAPSESTRUCT MyStruct;
FPWYNAPSESTRUCT is a structure defined in CLICKBAR.H, and to be used in
WinMain. MyStruct is a structure of that type, and MyStructHandle will
contain a global memory handle to that structure.
───────────────────────────────
.C Program WinMain Loading DLLs
Lines 95 through 129 in TestClik.C contain four identical constructs
which constitute the loading of four dynamic link libraries:
hLibWynBtn = LoadLibrary("WYNBTN.DLL");
if (hLibWynBtn < 32)
{
FreeLibrary(hLibWynBtn);
MessageBox(GetFocus(),
"Dynamic Link Library WYNBTN.DLL must be present",
szAppName,
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hClickBar = LoadLibrary("CLICKBAR.DLL");
if (hClickBar < 32)
{
FreeLibrary(hClickBar);
MessageBox(GetFocus(),
"Dynamic Link Library CLICKBAR.DLL must be present",
szAppName,
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hClickDlg = LoadLibrary("ClickDlg.DLL");
if (hClickDlg < 32)
{
FreeLibrary(hClickDlg)
MessageBox(GetFocus(),
"Dynamic Link Library CLICKDLG.DLL must be present",
szAppName,
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hBWCCDll = LoadLibrary("BWCC.DLL");
if (hBWCCDll < 32)
{
FreeLibrary(hBWCCDll);
MessageBox(GetFocus(),
"Dynamic Link Library BWCC.DLL must be present",
szAppName,
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
The four constructs are identical with the exception of the DLL names.
In all cases, if the handle returned is less than 32, an error occurred,
and the application is aborted with a MessageBox.
───────────────────────────────────────────────────
.C Program WinMain Far Procedure Address Assignment
Lines 131 through 136 in TestClik.C assign Procedure Addresses to the
FARPROCS declared in the header:
lpfnDlgSetup = GetProcAddress(hClickDlg, "ClickBarDialogSetup");
lpfnDlgMove = GetProcAddress(hClickDlg, "ClickBarDialogMove");
lpfnDisplayDlg = GetProcAddress(hClickDlg, "ClickBarDialogProc");
lpfnWynBtnSetup = GetProcAddress(hLibWynBtn, "WynBtnSetup");
lpfnClickBarSetup = GetProcAddress(hClickBar, "ClickBarSetup");
The first three assign addresses for functions in ClickDlg.DLL, and the
second set assign addresses for functions contained in ClickBar.DLL.
The five functions will be explained as they are used later on in this
document.
────────────────────────────────────────────
.C Program WinMain DLL End User Registration
Lines 138 through 153 is the code necessary for developers to register
their copy of ClickBar (and WynBtn) with the DLLs, to keep their
customers from being annoyed by the shareware banner in ClickBar and
WynBtn:
MyStructHandle = GlobalAlloc(GHND, sizeof(WYNAPSE_STRUCT));
MyStruct = (FPWYNAPSESTRUCT)GlobalLock(MyStructHandle);
lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* WynBtn RegName */
MyStruct->RegNumber = 0; /* WynBtn RegNumber */
GlobalUnlock(MyStructHandle);
(*lpfnWynBtnSetup)(MyStructHandle);
MyStruct = (FPWYNAPSESTRUCT)GlobalLock(MyStructHandle);
lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* ClickBar RegName */
MyStruct->RegNumber = 0; /* ClickBar RegNumber */
GlobalUnlock(MyStructHandle);
(*lpfnClickBarSetup)(MyStructHandle);
GlobalFree(MyStructHandle);
The first line Allocates Global memory for a structure called
WYNAPSE_STRUCT which is defined in ClickBar.H. Following that is two
identical constructs, one to be executed for each DLL used. In each
case, the global memory handle is locked for use, and the structure
filled with registration information, then unlocked, and the handle
passed to the setup function of the appropriate DLL.
Please be sure that in the line:
lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* WynBtn RegName */
or the line:
lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* ClickBar RegName */
you enter YOUR registered name between the quotes exactly as it appears
on your registration paper, or diskette. Include blank spaces and
include upper- and lower-case as necessary.
The two lines:
MyStruct->RegNumber = 0; /* WynBtn RegNumber */
MyStruct->RegNumber = 0; /* ClickBar RegNumber */
must contain YOUR registration number(s) as returned on your
registration paper or diskette.
When one or both setup calls are finished the global memory is freed by
the GlobalFree call.
──────────────────────────────────────
.C Program WinMain ClickDlg Setup call
Line 180 contains the Setup call to ClickDlg to pass YOUR application's
window handle, and allow ClickDlg to perform its internal setups:
(*lpfnDlgSetup)(hWndMain);
─────────────────────────────────────
.C Program WinMain ClickDlg Execution
Line 182 contains the line:
hWndDlg = CreateDialog(hInst,
"CLICK",
hWndMain,
MakeProcInstance((*lpfnDisplayDlg), hInst));
hInst is the instance handle of this copy of your Application. "CLICK"
is the name of the toolbar as designed in <>.RC or <>.DLG.
Your application now has a full-function toolbar located just below the
title bar, or just below the menu, if there is a menu. Version 1.0 of
ClickBar provides a toolbar that moves and sizes with your window, but
is static in its relative location to your window. v2.0 of ClickBar
will allow static and dynamic placement of the toolbar.
───────────────────────────────
.C Program WinMain Freeing DLLs
Starting on line 215 is the code to free the DLLs after use:
FreeLibrary(hLibWynBtn);
FreeLibrary(hClickBar);
FreeLibrary(hClickDlg);
FreeLibrary(hBWCCDll);
.C Program WndProc
──────────────────────────────────────────────────────────────────────
The WndProc is where the majority of the run-time work is done by an
application. That is also where the work is done for the toolbar.
──────────────────────────────────────
.C Program WndProc WM_SIZE and WM_MOVE
In addition to any sizing and moving done by your application, WndProc
must make the following calls to ClickDlg during a WM_SIZE or WM_MOVE
command:
case WM_SIZE :
case WM_MOVE :
(*lpfnDlgMove)();
break;
Found on lines 320 through 323 in TestClik, these are the only WM_SIZE
and WM_MOVE commands that are handled by TestClik.
─────────────────────────────
.C Program WndProc WM_COMMAND
Starting on line 340 in TestClik.C are lines of the type:
case IDXLARROW :
There must be a case for each ClickBar.DLL button used in the dialog.
ClickDlg.DLL will send WM_COMMAND messages back to your application,
one message for each button press.
If a combo box is inserted in the toolbar, the box can be written to
and polled as is any other combo box. No WM_COMMAND message is sent
back to the application for a combo box change.
.RC File
──────────────────────────────────────────────────────────────────────
Line 16 of TestClik.RC shows the inclusion of the ".H" file as
discussed in the section entitled ".C Program Header":
#include <clickbar.h>
At this point, some personal preference may come into play. We here at
WynApse SoftWare prefer to keep the dialog code separate from the
resource file, consequently we normally have both a ".RC" file and a
".DLG" file, in the manner of TestClik. Some programmers prefer to
have the dialog information contained in the ".RC" file, in which case
the discussion about ".DLG" files below would be directed to the ".RC"
file. This document will refer to both.
.DLG File
──────────────────────────────────────────────────────────────────────
Line 9 of TestClik.DLG contains:
CONTROL "", IDOK, "WynButton",
BS_DEFPUSHBUTTON | WS_OVERLAPPED | WS_TABSTOP,
54, 147, 36, 24
This defines the 3D-bitmapped OK button from WynBtn.DLL.
Similarly "testclik", starting on line 17 of TestClik.DLG contains an
IDOK, IDCANCEL, and IDHELP button from WynBtn.DLL.
Lines 30 through 55 of TestClik.DLG contain the actual toolbar layout.
The toolbar dialog is defined as Helvetica 8 to get the spacing
correct.
The "BorShade" control from line 34:
CONTROL "", 101, "BorShade", 1, 0, 0, 373, 16
is from BWCC.DLL from Borland, and is loaded in TestClik.C.
The remaining lines are all defining the buttons as layed out in
Microsoft Excel, as an example. Other buttons may be inserted in this
text file, or the layout rearranged at will. Toolbars may be
constructed in this manner, however the preferred method is through the
Resource Workshop, detailed in the section entitled "ClickBar and the
Resource Workshop".
DLL bitmaps vs. binding bitmaps
──────────────────────────────────────────────────────────────────────
ClickBar.DLL and ClickDlg.DLL will provide your application with 75
bitmap pairs. The pairs are arranged such that an unpressed button has
one look to it and a pressed button actually looks pressed.
If a user wishes to do so, other bitmaps may be "bound in" to the
application to produce an even more custom look and feel.
CLICKBAR.H contains the text vs. numerical mapping of the buttons. Note
that each definition has an even number associated with it, for example
#define IDVFASTREV 44
in this case, IDVFASTREV is the ID code for bitmap 44. Bitmap 45 is
the bitmap displayed for a pressed IDVFASTREV.
What this means to the developer is that to include a custom bitmap, a
pair of bitmaps must be bound into the application, one for the normal
button, and one for the pressed button. The syntax is:
1050 BITMAP <unpressed>.bmp
3051 BITMAP <pressed>.bmp
the addition of 1000 and 3000 to the bitmap takes care of the
translation through ClickBar.DLL.
Note that overlaying pre-existing numbers will cause the ClickBar.DLL
bitmaps to be overridden. As an example, TestClik overrides each
bitmap used, to produce a toolbar that exactly matches Excel.
69 bitmap pairs are included with ClickBar as examples from Microsoft
Word, Excel, and Borland's Resource Workshop. Any other bitmaps may be
used with ClickDlg, as long as the "profile" of the button matches the
existing profiles as detailed in ClickBar.H.
Button Profiles
───────────────
ClickBar v1.0 contains 3 profiles. These profiles are:
1) 22x18 16 colors (similar to those in Microsoft Excel, or
Word for Windows lower row)
2) 25x22 16 colors (similar to the upper row of Word for Windows)
3) 24x24 16 colors (similar to those in Resource Workshop)
Any user-designed button may be bound into the executable and called by
number from the application, as long as the profile matches one of the
above. The number may be the same as one of the ID numbers defined in
ClickBar, or a number beyond those defined, to avoid "losing" a button
in the heat of debug.
The scheme used to define buttons is as follows. For each button on
the screen, there is a pair defined in the DLL (or bound in). In each
case, the even-numbered bitmap is the normal button, as viewed prior to
being pressed, and the odd companion button is the pressed-in button.
The buttons are declared as explained above in the section entitled
"DLL bitmaps vs. binding bitmaps".
ClickBar and the Resource Workshop
──────────────────────────────────────────────────────────────────────
ClickBar.DLL is fully-qualified as a custom control as defined by
Borland for the Borland Resource Workshop.
Installing ClickBar.DLL
───────────────────────
To install ClickBar.DLL as a custom control, first invoke the
Resource Workshop. Then using the menu selections, get into the
Dialog Box editor. The menu selections "Options", "Install control
library" will provide a dialog box into which the user must type the
path specification of a custom control, in this case "ClickBar.DLL."
For example, if ClickBar was setup with the default pathspec, then
ClickBar.DLL is located on the path
C:\WINDOWS\CLICKBAR
The location to type into the custom control box is then
C:\WINDOWS\CLICKBAR\CLICKBAR.DLL
Upon doing this, three custom control buttons appear on the edit
tool palette, labeled W1, W2 and W3. These three correspond as
follows:
Profile Wn
─────── ──
22x18 W1
24x24 W2
25x22 W3
Using the custom controls
─────────────────────────
Selecting one of the new controls is idential to selecting one of
the standard ones in the workshop. A cursor is provided for placing
the button on the face of the toolbar. Move the cursor to the
desired position on the dialog box, and click the left mouse
button. This will place a null button in the position you
selected. Double click on the button and a dialog box will appear
for selecting the button and the 'type' of the button.
Button Types
────────────
The dialog box for the buttons contains radio buttons for 3 defined
button types. The types are: "click", "push", and "toggle". For
version 1.0 of ClickBar, only two of the types are enabled: "click",
and "push".
"Push" buttons change to the pressed-in 3D look when the mouse is
clicked on the face of the button, and continue to stay pressed in
until another button is pressed. A good example of this would be
the play and fast-forward buttons on a tape player. If in play
mode, and fast-forward is pressed, the play button pops up.
"Click" buttons change to the pressed-in 3D look only when the mouse
is clicked, and then pop back out. An example of this would be the
stop button on a tape player. The stop button does not stay pressed
in, just causes an action to take place.
"Toggle" buttons, when enabled, will cause buttons to stay pressed
in until another mouse click releases the button.
Button ID
─────────
The Button ID identifies the button that is displayed in the
position. The button IDs can be found in ClickBar.h, or by
executing the ClikTest.EXE demo. Each button press causes a
distinct ID code to be sent to the application WndProc.
The control dialog box contains a 'combo box' control which has the
appearance of an edit box with a down-arrow to the right of it.
Clicking the arrow will pull down a list box containing the ID codes
for all the buttons falling in the selected profile. Clicking the
desired code will bring that ID to the main edit box. Then clicking
OK will cause that button to be displayed in the dialog. Double
clicking the ID will select the code, and OK in one stroke.
After the buttons are placed in the dialog, double clicking the
button will bring up the control dialog to allow the type or ID to
be altered. To change the profile, the button must be deleted, and
a new profile selected.
Background Color
────────────────
For Borland C++ 2.0 or 3.0 users, the dialog box should be selected
as class "bordlg", and the Borland shade type used as a background
for the buttons. Non-Borland users may compile as the example
TestClik is shown, and the BWCC.DLL Borland dynamic link library is
bound in at run-time.
User Registration
──────────────────────────────────────────────────────────────────────
Registering ClickBar will provide the developer with a Registration
number that is keyed to the name requested on the registration form.
The next time ClickBar is accessed after receiving the number from
WynApse, the user should select "Register" from the Shareware banner
dialog. Another dialog is presented requesting name and
registration number. Use the Tab key to proceed from the Name box
to the Registration Number box, then click OK. This will cause
ClickBar.DLL to produce a file "WYNAPSE.INI" in the Windows root
directory.
WYNAPSE.INI
───────────
WYNAPSE.INI is a standard ".INI" file as used by most large Windows
Applications, and has the form:
[WynBtn]
RegName=David Campbell
RegNumber=123
[ClickBar]
RegName=David Campbell
RegNumber=456
The .INI file is produced only when a valid name and number is
entered in the registration box. Building a WYNAPSE.INI file
off-line and entering a non-registered name and number will produce
the shareware dialog box because the two do not match.
The only acceptable time to build am .INI file off-line is when an
application developer has registered ClickBar (or WynButton), and
has an application to deliver to an end user. In this case, the
developer does not want the end-user to be annoyed by the WynApse
shareware banner. This is where the End User Registration technique
discussed in the section entitled "DLL End User Registration" is
used. An application developer would build a WYNAPSE.INI file
delivered with the application that is as follows:
[WynBtn]
RegName=EndUserLicense
RegNumber=n
[ClickBar]
RegName=EndUserLicense
RegNumber=n
the 'n' above can be any number, because "RegName" is the only value
read. For this to work, the developer must code his/her
registration into the source code of the application as explained in
the section entitled "DLL End User Registration".
End User Use
────────────
The technique of using the .INI file to control the registration
message causes the shareware dialog to reappear if the end user
attempts to use the DLL outside the scope of the application with
which it was delivered. Because of this, the developer should
mention the use of the WYNAPSE.INI file in the application manual.
If this file is deleted, the shareware registration dialog will
appear, and the end-user may be confused or annoyed by this. One
consideration may be to write the file to the hard disk as
read-only.
To discuss concerns or other considerations in this area, please
contact WynApse SoftWare either by voice, or electronic mail.
Windows 3.1
──────────────────────────────────────────────────────────────────────
ClickBar, and WynButton are both Windows 3.0 and Windows 3.1
compatible. Windows 3.1 is the preferred way to go with the speed
and Free System Resources considerations.
Borland C++
──────────────────────────────────────────────────────────────────────
ClickBar, and WynButton are both compatible with Borland C++ version
2.0 and Borland C++ 3.0. When the update becomes available for
Borland C++ for Windows 3.1, compliance with the new compiler will
be attained.
Registration
──────────────────────────────────────────────────────────────────────
Thank you for taking the time to evaluate ClickBar!
ClickBar is provided at no charge for evaluation purposes only. This
shareware version of ClickBar is the complete working version of the
program, not a crippled or demo copy.
WynApse SoftWare hereby grants you a limited license to use this
software for evaluation purposes only for a period not to exceed thirty
(30) days. If you intend to continue using this software (and/or its
documentation) after the thirty (30) day evaluation period, you MUST
make a registration payment to WynApse SoftWare. Using this software
after the evaluation period has ended without registering is a
violation of the terms of this limited license.
Please refer to ORDER.DOC, SITE.DOC, & LICENSE.DOC for quantity
discounts, site-license information, and separate order blank.
You may register ClickBar using the accompanying order form.
The $35.00 registration fee licenses one copy of the software for use
on one computer. Additional sites, or additional computers on a local
area network, must be licensed separately. Alternatively, site
licenses are available; for additional information, please call
1-602-863-0411.
As a registered user, you will receive:
o The full retail package, including printed manual.
o The most current version of the ClickBar program. We are always
improving our products, and registration ensures that you have the
latest version.
o Free technical support.
o Notification of significant upgrades to ClickBar, and upgrade to
the next significant version at a reduced rate.
o Special offers on other products from WynApse SoftWare.
Please feel free to contact us if you have any questions, comments, or
suggestions or require additional information. Thank you!
WynApse SoftWare Orders: 1-602-863-0411
P.O. Box 86247 Information: 1-602-863-0411
Phoenix, AZ 85080-6247 CompuServe: [72251, 445]
U.S.A.
ClickBar 1.0 ORDER FORM
Remit to: WynApse SoftWare Orders: 1-602-863-0411
P.O. Box 86247 Information: 1-602-863-0411
Phoenix, AZ 85080-6247 CompuServe: [72251, 445]
U.S.A.
ClickBar Qty ____ @ $35.00 $_________
AZ residents add 6.7% sales tax. $_________
Inside U.S. & Canada add $1.00 shipping per Product. $_________
Outside U.S. & Canada add $3.00 shipping per Product. $_________
Total $_________
Payment by: Check (U.S. funds only, drawn on a U.S. bank)
Name: _____________________________________ Title: _______________
Company: _____________________________________________________________
Address: _____________________________________________________________
_____________________________________________________________
_____________________________________________________________
Day Phone: ________________________ Evening: ________________________
Disk format: ( ) 5.25" ( ) 3.5"
Where did you get your copy of ClickBar? _____________________________
Printed Name for Registration number__________________________________
Index
──────────────────────────────────────────────────────────────────────
.C Header . . . . . . . . . . 4 - E -
.C WinMain. . . . . . . . . . 5 End User Registration . . . . 7
.DLG. . . . . . . . . . . . . 4 End User Use. . . . . . . . . 15
.DLG File . . . . . . . . . . 10 EndUserLicense. . . . . . . . 14
.INI. . . . . . . . . . . 14, 15 Evaluation. . . . . . . . . . 16
.RC . . . . . . . . . . . . . 4 Extracting Files. . . . . . . 1
.RC file . . . . . . . . . . 10
22x18 . . . . . . . . . . . . 11 - F -
24x24 . . . . . . . . . . . . 11 Far Procedure . . . . . . . . 6
25x22 . . . . . . . . . . . . 11 FARPROC . . . . . . . . . . . 4
FPWYNAPSESTRUCT . . . . . . . 5
- A - Free System Resources . . . . 15
Accessing ClickDlg . . . . . 4 Freeing DLLs. . . . . . . . . 8
FreeLibrary . . . . . . . . . 8
- B -
Background Color. . . . . . . 13 - G -
Binding Bitmaps . . . . . . . 11 GetProcAddress. . . . . . . . 6
Bitmap pairs. . . . . . . . . 11 GlobalFree. . . . . . . . . . 7
Bordlg. . . . . . . . . . . . 13
Borland C++ . . . . . . . 13, 15 - H -
Borland shade . . . . . . . . 13 Helvetica . . . . . . . . . . 10
BorShade. . . . . . . . . . . 10
Bound in. . . . . . . . . . . 12 - I -
Button ID . . . . . . . . . . 13 ID Codes. . . . . . . . . . . 2
Button Profiles . . . . . . . 11 Included Files. . . . . . . . 3
Button Types . . . . . . . . 13 Installation. . . . . . . . . 1
BWCC.DLL . . . . . . . 6, 10, 13 Installing. . . . . . . . . . 1
- C - - L -
Click . . . . . . . . . . . . 13 Loading DLLs. . . . . . . . . 5
ClickBar. . . . . . . 14, 15, 16 LoadLibrary . . . . . . . . . 6
ClickBar.DLL . . . . 2, 5, 12, 14 LpfnDlgMove . . . . . . . . . 8
ClickBar.H . .4, 5, 7, 10, 11, 13
ClickBarDialogMove. . . . . . 6 - O -
ClickBarDialogProc. . . . . . 6 Order blank . . . . . . . . . 16
ClickBarDialogSetup . . . . . 6 Order Form. . . . . . . . . . 17
ClickBarSetup . . . . . . . . 6 Overlaying bitmaps. . . . . . 11
ClickDlg Execution . . . . . 8
ClickDlg Setup . . . . . . . 8 - P -
ClickDlg.DLL. . . . . . . . 2, 6 Push. . . . . . . . . . . . . 13
ClickDlg.H. . . . . . . . . . 4
ClikBar0.ZIP. . . . . . . . . 3 - R -
ClikTest.EXE. . . . . . . . 2, 13 Register. . . . . . . . . . . 7
Combo box . . . . . . . . . 9, 13 Registering . . . . . . . . . 14
CONTROL . . . . . . . . . . . 10 Registration. . . . . . . . . 16
Control dialog. . . . . . . . 13 Registration Number . . . . . 17
CreateDialog. . . . . . . . . 8 RegName . . . . . . . . . 7, 14
Custom bitmap . . . . . . . . 11 RegNumber . . . . . . . . 7, 14
Custom Control. . . . . . . . 12 Resource Workshop . . . . 11, 12
Screen group. . . . . . . . . 1
- D -
Discounts . . . . . . . . . . 16 - S -
DLL bitmaps . . . . . . . . . 11 Setup . . . . . . . . . . . . 1
Site licenses . . . . . . . . 16
- T - - W -
TestClik.C. . . . . . . . . . 10 Windows . . . . . . . . . . . 1
TestClik.DLG. . . . . . . . . 10 Windows 3.0 . . . . . . . . . 15
TestClik.EXE . . . . . . . . 2 Windows 3.1 . . . . . . . . . 15
TestClik.RC . . . . . . . . . 10 WM_COMMAND. . . . . . . . . . 9
Toggle. . . . . . . . . . . . 13 WM_MOVE . . . . . . . . . . . 8
WM_SIZE . . . . . . . . . . . 8
- U - WndProc . . . . . . . . . . 8, 9
User Registration . . . . . . 14 WYNAPSE.INI . . . . . . . 14, 15
WYNAPSE_STRUCT. . . . . . . . 7
- V - WynBtn. . . . . . . . . . .4, 14
Version 1.0 . . . . . . 2, 8, 17 WynBtn.H. . . . . . . . . . . 4
WynBtnSetup . . . . . . . . . 6
WynButton . . . . . . . . 10, 15
- Y -
Your Name . . . . . . . . . . 7
Your Registration . . . . . . 7